package com.industrial.premu.mapper;

import com.industrial.premu.domain.PreMuPioneerDeveZone;
import com.industrial.premu.domain.PremuPioneerCompany;
import com.industrial.premu.domain.PremuPioneerCounty;
import com.industrial.premu.domain.vo.PreMuPioneerCountVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface PreMuPioneerDeveZoneMapper {

    /**
     * 查询开发区先锋
     *
     * @param baseId 开发区先锋主键
     * @return 开发区先锋
     */
    public PreMuPioneerDeveZone selectPreMuPioneerDeveZoneByBaseId(String baseId);

    /**
     * 查询开发区先锋列表
     *
     * @param preMuPioneerDeveZone 开发区先锋
     * @return 开发区先锋集合
     */
    public List<PreMuPioneerDeveZone> selectPreMuPioneerDeveZoneList(PreMuPioneerDeveZone preMuPioneerDeveZone);

    /**
     * 新增开发区先锋
     *
     * @param preMuPioneerDeveZone 开发区先锋
     * @return 结果
     */
    public int insertPreMuPioneerDeveZone(PreMuPioneerDeveZone preMuPioneerDeveZone);

    /**
     * 修改开发区先锋
     *
     * @param preMuPioneerDeveZone 开发区先锋
     * @return 结果
     */
    public int updatePreMuPioneerDeveZone(PreMuPioneerDeveZone preMuPioneerDeveZone);

    /**
     * 删除开发区先锋
     *
     * @param baseId 开发区先锋主键
     * @return 结果
     */
    public int deletePreMuPioneerDeveZoneByBaseId(String baseId);

    /**
     * 批量删除开发区先锋
     *
     * @param baseIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deletePreMuPioneerDeveZoneByBaseIds(String[] baseIds);

    void batchInsertPioneerDeveZone(@Param("list") List<PreMuPioneerDeveZone> list);

    /**
     * 查询统计数量
     *
     * @param years
     * @return
     */
    PreMuPioneerCountVo queryTjCount(@Param("years") String years);

    /**
     * 先锋企业排名
     *
     * @param years
     * @return
     */
    List<PremuPioneerCompany> queryTjCompanyOrderEcharts(@Param("years") String years,@Param("industry") String industry);

    List<PremuPioneerCounty> queryTjCountyOrderEcharts(@Param("years") String years);

    List<PreMuPioneerDeveZone> queryTjKfqOrderEcharts(@Param("years") String years,@Param("groupName") String groupName);

    List<PreMuPioneerDeveZone> listTop10(PreMuPioneerDeveZone preMuPioneerDeveZone);

}
